package personal.zq.practice.common.bo;

/**
 * @author zhangqing
 * @version 1.0
 * @date 2022/9/22
 */

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Arrays;

@ApiModel("下载base64资源请求出参")
public class DownloadWithBase64Resp {
    @ApiModelProperty(name = "fileName", value = "文件名")
    private String fileName;
    @ApiModelProperty(name = "fileCRC", value = "CRC校验值")
    private String fileCRC;
    @ApiModelProperty(name = "fileNameExt", value = "文件扩展名")
    private String fileNameExt;
    @ApiModelProperty(name = "content", value = "文件内容")
    private byte[] content;

    public DownloadWithBase64Resp() {
    }

    public String getFileName() {
        return this.fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileCRC() {
        return this.fileCRC;
    }

    public void setFileCRC(String fileCRC) {
        this.fileCRC = fileCRC;
    }

    public String getFileNameExt() {
        return this.fileNameExt;
    }

    public void setFileNameExt(String fileNameExt) {
        this.fileNameExt = fileNameExt;
    }

    public byte[] getContent() {
        return this.content;
    }

    public void setContent(byte[] content) {
        this.content = content;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof DownloadWithBase64Resp)) {
            return false;
        } else {
            DownloadWithBase64Resp other = (DownloadWithBase64Resp) o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                Object this$fileName = this.getFileName();
                Object other$fileName = other.getFileName();
                if (this$fileName == null) {
                    if (other$fileName != null) {
                        return false;
                    }
                } else if (!this$fileName.equals(other$fileName)) {
                    return false;
                }

                Object this$fileCRC = this.getFileCRC();
                Object other$fileCRC = other.getFileCRC();
                if (this$fileCRC == null) {
                    if (other$fileCRC != null) {
                        return false;
                    }
                } else if (!this$fileCRC.equals(other$fileCRC)) {
                    return false;
                }

                Object this$fileNameExt = this.getFileNameExt();
                Object other$fileNameExt = other.getFileNameExt();
                if (this$fileNameExt == null) {
                    if (other$fileNameExt != null) {
                        return false;
                    }
                } else if (!this$fileNameExt.equals(other$fileNameExt)) {
                    return false;
                }

                if (!Arrays.equals(this.getContent(), other.getContent())) {
                    return false;
                } else {
                    return true;
                }
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof DownloadWithBase64Resp;
    }

    public int hashCode() {
        int PRIME = 1;
        int result = 1;
        Object $fileName = this.getFileName();
        result = result * 59 + ($fileName == null ? 43 : $fileName.hashCode());
        Object $fileCRC = this.getFileCRC();
        result = result * 59 + ($fileCRC == null ? 43 : $fileCRC.hashCode());
        Object $fileNameExt = this.getFileNameExt();
        result = result * 59 + ($fileNameExt == null ? 43 : $fileNameExt.hashCode());
        result = result * 59 + Arrays.hashCode(this.getContent());
        return result;
    }

    public String toString() {
        return "DownloadWithBase64Resp(fileName=" + this.getFileName() + ", fileCRC=" + this.getFileCRC() + ", fileNameExt=" + this.getFileNameExt() + ", content=" + Arrays.toString(this.getContent()) + ")";
    }
}
